package com.nineclock.system.controller;

import com.nineclock.common.entity.Result;
import com.nineclock.common.enums.ResponseEnum;
import com.nineclock.system.dto.SysCompanyContactConfigDTO;
import com.nineclock.system.pojo.SysCompanyContactConfig;
import com.nineclock.system.service.SysCompanyContactConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("companyContact")
@Api(value = "联系人字段配置管理", tags = "系统服务")
public class SysCompanyContactConfigController {

    @Autowired
    private SysCompanyContactConfigService configService;

    /**
     * 添加字段
     * @return
     */
    @PostMapping("config")
    @ApiOperation("添加字段")
    public Result addSysCompanyContactConfig(@RequestBody SysCompanyContactConfigDTO configDTO){
        configService.addSysCompanyContactConfig(configDTO);
        return Result.success();
    }

    /**
     * 企业通讯录: 查询并初始化
     * 接口路径：GET/sys/companyContact/config
     */
    @ApiOperation("企业通讯录: 查询并初始化")
    @GetMapping("config")
    public Result<List<SysCompanyContactConfigDTO>> querySysCompanyContactConfig(){
        List<SysCompanyContactConfigDTO> dtoList = configService.querySysCompanyContactConfig();
        return Result.success(dtoList);
    }

    /**
     * 企业通讯录: 修改状态
     * 接口路径：PUT/sys/companyContact/config/{id}/{status}
     */
    @ApiOperation("企业通讯录: 修改状态")
    @PutMapping("config/{id}/{status}")
    public Result updateSysCompanyContactConfigStatus(@PathVariable Long id, @PathVariable Short status){
        configService.updateSysCompanyContactConfigStatus(id, status);
        return Result.success();
    }
}
